通过实例了解PHP的mvc开发
<?php
<?php
}
以上流程只是我根据自己的学习自己编写的一套而已,但里面却缺少缓存,具体缓存应该怎么样的设置。
public function load($url,$template){
复制代码 代码如下:
exit('此页未设置显示模板!'.$temp);app::run($config);
$route_type=self::$config[route][url_type];
}
$url = end(explode('/', $_SERVER["PHP_SELF"]));
二、引擎
if(file_exists(Templ_DIR.$temp)){
}else{
@link ym97.com/wenku
class controller{
注意:
if(file_exists(Contr_DIR.'Controller.php')){
public $obj;
其它的模板文件也都是用类进行了封装。
//echo $urlstr;
exit('模型文件不存在:'.$url.'.model.php');
self::copyright();
self::setsystem(); //设置系统参数
//echo $_SERVER['REQUEST_URI'].'<br />';
break;
exit('视图文件不存在!'.$temp);
}else{
self::getdatabase(); //测试数据库
self::incinfo();
?>
}else{
require Model_DIR.$url.'.model.php';
}
require Contr_DIR.'Controller.php';
三、路由
四、控制器
$config=$template;
一、入口文件
}
控制器
if(!IN_WEB){exit('网站正关闭维护中,请稍候访问!');}
@link http:/www.dismall.com/thread-957-1-1.html
<?php
首先,设置配置文件,再测试系统参数,加载系统模块,取得配置在的网站信息文件,设置网站需要的路径,测试系统配置里面的数据库参数,加载库文件,最后是加载路由获取请求地址。
复制代码 代码如下:
}break;
header("Content-type:text/html;charset=utf-8");
$temp = $config[$url][0];
至于,mvc中的缓存应该怎么写,现在还是一个模糊的概念,是不是在读取数据时,方向应该是读取缓存,然后再判断缓存是否存在,再判断是否需要建立缓存呢?
}
public function run($config){
模型文件里需要输出的数据全部都是通过views这样一个类进行输出,包里视图文件里面所有的系统参数等。
require 'command/app.php';
controller::load($urlstr,$template);
路由
复制代码 代码如下:
}else{<?php
以下为上面的最后一个函数,加载控制器文件,根据配置文件获得请求方式。
switch($route_type){
public function getRouteConfig(){
exit('控制器文件不存在');
$views = new views;
加载系统配置文件,然后通过引擎来加载系统配置。
}期待有高人指点下,请加入jquery中文网官方QQ群:161228069 参与讨论吧。 require Templ_DIR.$temp;
/**
*/
$query_string=$_SERVER['QUERY_STRING'];
不知此种方法是否多此一举,原来是想把所有要输出的数据进行封装。
defined('KEHENG_DEBUG') or define('KEHENG_DEBUG',true); // 是否调试模式
控制器文件也蛮简单,只是根据路由分析出的地址来加载模型文件和视图文件,
if(file_exists(Model_DIR.$url.'.model.php')){
self::$config = $config; //加载系统配置
入口文件可以是单文件也可以是多文件,我用的基本属多文件,但是入口文件内容基本都是一样,为以后的修改其它的入口方式做基础。
这里的数据库测试是根据配置用哪一类型的数据库,再加载对该类型数据库操作的封装文件。 } //echo Templ_DIR.$temp;
/**
$urlstr = strtolower(substr($url,0,-4));
*/
}
self::setpath(); //设置系统路径
case 1:
require 'command/config.php';
$urlstr=$_GET['controller'];
$template = self::$config['Templates'];
case 4:
//echo $_SERVER['SCRIPT_NAME'].'<br />';
self::testsystem(); //系统环境
self::getRouteConfig(); //运行路由并加载控制器
unset($views);
复制代码 代码如下:
self::loadlib(); //加载库if($temp!='' && $temp!=null && isset($temp)){
//echo Model_DIR.$url.'.model.php';
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/6293.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
